package com.authine.cloudpivot.ext.vo;

import com.authine.mvp.app.launcher.domain.AttachmentFormat;
import com.authine.mvp.app.launcher.domain.SelectorFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @ClassName QuotationGoodsVo
 * @Description: 报价商品VO
 * @Author fj
 * @Date 2021/5/21
 * @Version V1.0
 **/
@Data
@ApiModel("报价商品VO")
public class QuotationGoodsVo {
    @ApiModelProperty(value = "报价商品号")
    private String id;

    @ApiModelProperty(value = "报价商品状态")
    @JsonProperty("quotationGoodsStatus")
    private String quotation_goods_status;

    @ApiModelProperty(value = "报价类型")
    @JsonProperty("autoQuotation")
    private String auto_quotation;

    @ApiModelProperty(value = "询价商品号")
    @JsonProperty("inquiryGoodsId")
    private String inquiry_goods_id;

    @ApiModelProperty(value = "组织料号")
    private String sku;

    @ApiModelProperty(value = "条形码")
    @JsonProperty("barCode")
    private String bar_code;

    @ApiModelProperty(value = "商品名")
    private String name;

    @ApiModelProperty(value = "品牌")
    private String brand;

    @ApiModelProperty(value = "型号")
    private String model;

    @ApiModelProperty(value = "规格")
    private String spec;

    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @ApiModelProperty(value = "税前单价")
    @JsonProperty("pretaxPrice")
    private BigDecimal pretax_price;

    @ApiModelProperty(value = "货期")
    private Integer delivery;

    @ApiModelProperty(value = "数量")
    private BigDecimal num;

    @ApiModelProperty(value = "单位")
    private String unit;

    @ApiModelProperty(value = "包装数量")
    @JsonProperty("packageNum")
    private BigDecimal package_num;

    @ApiModelProperty(value = "包装单位")
    @JsonProperty("packageUnit")
    private BigDecimal package_unit;

    @ApiModelProperty(value = "税率")
    @JsonProperty("taxRate")
    private BigDecimal tax_rate;

    @ApiModelProperty(value = "税额")
    @JsonProperty("taxPayable")
    private BigDecimal tax_payable;

    @ApiModelProperty(value = "税后运费")
    private BigDecimal freight;

    @ApiModelProperty(value = "运费税率")
    @JsonProperty("taxRateRreight")
    private BigDecimal tax_rate_freight;

    @ApiModelProperty(value = "税前运费")
    @JsonProperty("pretaxFreight")
    private BigDecimal pretax_freight;

    @ApiModelProperty(value = "运费税额")
    @JsonProperty("taxPayableFreight")
    private BigDecimal tax_payable_freight;

    @ApiModelProperty(value = "税后总计")
    private BigDecimal total;

    @ApiModelProperty(value = "税前总计")
    @JsonProperty("pretaxTotal")
    private BigDecimal pretax_total;

    @ApiModelProperty(value = "税后小计")
    private BigDecimal amount;

    @ApiModelProperty(value = "税前小计")
    @JsonProperty("pretaxAmount")
    private BigDecimal pretax_amount;

    @ApiModelProperty(value = "过期时间")
    private Date expire;

    @ApiModelProperty("附件")
    private List<AttachmentFormat> attachment;

    @ApiModelProperty("是否定标")
    private Integer picketage;

    @ApiModelProperty("描述")
    private String description;

    @ApiModelProperty(value = "定标理由")
    @JsonProperty("picketageReason")
    private String picketage_reason;

    @ApiModelProperty(value = "供应商名称")
    @JsonProperty("vendorOrganizationName")
    private String vendor_organization_name;

    @ApiModelProperty(value = "供应商id")
    @JsonProperty("vendorOrganizationId")
    private List<SelectorFormat> vendor_organization_id;

    @ApiModelProperty(value = "组织类目名称")
    @JsonProperty("orgCategoryName")
    private String org_category_name;

    @ApiModelProperty("报价来源")
    private String source;

    @ApiModelProperty("地址")
    private String address;

    @ApiModelProperty(value = "最大订货量")
    private BigDecimal maximum;

    @ApiModelProperty(value = "最小起订量")
    @JsonProperty("minOrder")
    private BigDecimal min_order;

    @ApiModelProperty(value = "标记信息")
    @JsonProperty("remarkMessage")
    private String remark_message;

    @ApiModelProperty(value = "冗余询价商品状态")
    @JsonProperty("inquiryGoodsStatus")
    private String inquiry_goods_status;
}
